home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / pmake / RCS / biglib.mk,v < prev    next >
Encoding:
Text File  |  1992-04-14  |  41.4 KB  |  2,236 lines

  1. head     1.70;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @@;
  7.  
  8.  
  9. 1.70
  10. date     92.04.13.18.33.47;  author elm;  state Exp;
  11. branches ;
  12. next     1.69;
  13.  
  14. 1.69
  15. date     91.11.19.18.25.48;  author kupfer;  state Exp;
  16. branches ;
  17. next     1.68;
  18.  
  19. 1.68
  20. date     91.11.06.18.31.37;  author kupfer;  state Exp;
  21. branches ;
  22. next     1.67;
  23.  
  24. 1.67
  25. date     91.06.04.14.13.17;  author kupfer;  state Exp;
  26. branches ;
  27. next     1.66;
  28.  
  29. 1.66
  30. date     90.11.15.23.35.02;  author rab;  state Exp;
  31. branches ;
  32. next     1.65;
  33.  
  34. 1.65
  35. date     90.11.02.08.42.18;  author mendel;  state Exp;
  36. branches ;
  37. next     1.64;
  38.  
  39. 1.64
  40. date     90.03.08.12.19.38;  author douglis;  state Exp;
  41. branches ;
  42. next     1.63;
  43.  
  44. 1.63
  45. date     90.02.20.11.49.50;  author douglis;  state Exp;
  46. branches ;
  47. next     1.62;
  48.  
  49. 1.62
  50. date     90.02.01.01.12.08;  author tve;  state Exp;
  51. branches ;
  52. next     1.61;
  53.  
  54. 1.61
  55. date     89.11.30.13.56.09;  author rab;  state Exp;
  56. branches ;
  57. next     1.60;
  58.  
  59. 1.60
  60. date     89.11.30.11.10.41;  author douglis;  state Exp;
  61. branches ;
  62. next     1.59;
  63.  
  64. 1.59
  65. date     89.10.20.13.57.51;  author douglis;  state Exp;
  66. branches ;
  67. next     1.58;
  68.  
  69. 1.58
  70. date     89.10.11.16.53.22;  author ouster;  state Exp;
  71. branches ;
  72. next     1.57;
  73.  
  74. 1.57
  75. date     89.10.11.16.46.02;  author ouster;  state Exp;
  76. branches ;
  77. next     1.56;
  78.  
  79. 1.56
  80. date     89.10.10.02.36.43;  author tve;  state Exp;
  81. branches ;
  82. next     1.55;
  83.  
  84. 1.55
  85. date     89.10.09.16.58.46;  author tve;  state Exp;
  86. branches ;
  87. next     1.54;
  88.  
  89. 1.54
  90. date     89.10.09.06.55.04;  author rab;  state Exp;
  91. branches ;
  92. next     1.53;
  93.  
  94. 1.53
  95. date     89.10.02.10.04.46;  author rab;  state Exp;
  96. branches ;
  97. next     1.52;
  98.  
  99. 1.52
  100. date     89.09.27.12.31.06;  author douglis;  state Exp;
  101. branches ;
  102. next     1.51;
  103.  
  104. 1.51
  105. date     89.09.06.04.53.41;  author rab;  state Exp;
  106. branches ;
  107. next     1.50;
  108.  
  109. 1.50
  110. date     89.08.31.16.10.21;  author rab;  state Exp;
  111. branches ;
  112. next     1.49;
  113.  
  114. 1.49
  115. date     89.08.27.14.08.06;  author mgbaker;  state Exp;
  116. branches ;
  117. next     1.48;
  118.  
  119. 1.48
  120. date     89.07.21.18.29.09;  author douglis;  state Exp;
  121. branches ;
  122. next     1.47;
  123.  
  124. 1.47
  125. date     89.07.21.18.27.08;  author mgbaker;  state Exp;
  126. branches ;
  127. next     1.46;
  128.  
  129. 1.46
  130. date     89.07.20.17.35.44;  author mgbaker;  state Exp;
  131. branches ;
  132. next     1.45;
  133.  
  134. 1.45
  135. date     89.07.13.13.53.16;  author nelson;  state Exp;
  136. branches ;
  137. next     1.44;
  138.  
  139. 1.44
  140. date     89.03.15.22.24.37;  author douglis;  state Exp;
  141. branches ;
  142. next     1.43;
  143.  
  144. 1.43
  145. date     89.02.22.13.04.32;  author mgbaker;  state Exp;
  146. branches ;
  147. next     1.42;
  148.  
  149. 1.42
  150. date     88.12.31.14.47.17;  author ouster;  state Exp;
  151. branches ;
  152. next     1.41;
  153.  
  154. 1.41
  155. date     88.12.23.14.50.45;  author ouster;  state Exp;
  156. branches ;
  157. next     1.40;
  158.  
  159. 1.40
  160. date     88.11.23.17.27.52;  author ouster;  state Exp;
  161. branches ;
  162. next     1.39;
  163.  
  164. 1.39
  165. date     88.11.23.09.54.24;  author ouster;  state Exp;
  166. branches ;
  167. next     1.38;
  168.  
  169. 1.38
  170. date     88.11.23.09.51.34;  author ouster;  state Exp;
  171. branches ;
  172. next     1.37;
  173.  
  174. 1.37
  175. date     88.09.24.11.11.04;  author ouster;  state Exp;
  176. branches ;
  177. next     1.36;
  178.  
  179. 1.36
  180. date     88.08.26.14.35.34;  author ouster;  state Exp;
  181. branches ;
  182. next     1.35;
  183.  
  184. 1.35
  185. date     88.08.20.11.35.17;  author ouster;  state Exp;
  186. branches ;
  187. next     1.34;
  188.  
  189. 1.34
  190. date     88.08.19.15.50.18;  author ouster;  state Exp;
  191. branches ;
  192. next     1.33;
  193.  
  194. 1.33
  195. date     88.08.18.16.11.19;  author ouster;  state Exp;
  196. branches ;
  197. next     1.32;
  198.  
  199. 1.32
  200. date     88.08.18.15.55.01;  author ouster;  state Exp;
  201. branches ;
  202. next     1.31;
  203.  
  204. 1.31
  205. date     88.08.18.15.52.20;  author ouster;  state Exp;
  206. branches ;
  207. next     1.30;
  208.  
  209. 1.30
  210. date     88.08.18.15.19.58;  author ouster;  state Exp;
  211. branches ;
  212. next     1.29;
  213.  
  214. 1.29
  215. date     88.08.18.11.05.14;  author ouster;  state Exp;
  216. branches ;
  217. next     1.28;
  218.  
  219. 1.28
  220. date     88.08.13.11.18.23;  author ouster;  state Exp;
  221. branches ;
  222. next     1.27;
  223.  
  224. 1.27
  225. date     88.08.12.17.49.24;  author ouster;  state Exp;
  226. branches ;
  227. next     1.26;
  228.  
  229. 1.26
  230. date     88.08.12.16.35.28;  author ouster;  state Exp;
  231. branches ;
  232. next     1.25;
  233.  
  234. 1.25
  235. date     88.08.12.10.55.53;  author ouster;  state Exp;
  236. branches ;
  237. next     1.24;
  238.  
  239. 1.24
  240. date     88.07.28.13.11.57;  author ouster;  state Exp;
  241. branches ;
  242. next     1.23;
  243.  
  244. 1.23
  245. date     88.07.27.18.07.53;  author ouster;  state Exp;
  246. branches ;
  247. next     1.22;
  248.  
  249. 1.22
  250. date     88.07.27.17.43.12;  author nelson;  state Exp;
  251. branches ;
  252. next     1.21;
  253.  
  254. 1.21
  255. date     88.07.27.17.36.04;  author ouster;  state Exp;
  256. branches ;
  257. next     1.20;
  258.  
  259. 1.20
  260. date     88.07.13.15.56.55;  author ouster;  state Exp;
  261. branches ;
  262. next     1.19;
  263.  
  264. 1.19
  265. date     88.07.13.13.30.20;  author ouster;  state Exp;
  266. branches ;
  267. next     1.18;
  268.  
  269. 1.18
  270. date     88.07.13.10.25.48;  author ouster;  state Exp;
  271. branches ;
  272. next     1.17;
  273.  
  274. 1.17
  275. date     88.07.06.10.25.26;  author mendel;  state Exp;
  276. branches ;
  277. next     1.16;
  278.  
  279. 1.16
  280. date     88.07.02.14.34.20;  author ouster;  state Exp;
  281. branches ;
  282. next     1.15;
  283.  
  284. 1.15
  285. date     88.07.02.12.25.24;  author ouster;  state Exp;
  286. branches ;
  287. next     1.14;
  288.  
  289. 1.14
  290. date     88.07.01.15.51.42;  author ouster;  state Exp;
  291. branches ;
  292. next     1.13;
  293.  
  294. 1.13
  295. date     88.06.21.11.31.45;  author ouster;  state Exp;
  296. branches ;
  297. next     1.12;
  298.  
  299. 1.12
  300. date     88.06.19.14.25.28;  author ouster;  state Exp;
  301. branches ;
  302. next     1.11;
  303.  
  304. 1.11
  305. date     88.06.17.14.52.48;  author ouster;  state Exp;
  306. branches ;
  307. next     1.10;
  308.  
  309. 1.10
  310. date     88.06.17.13.42.27;  author ouster;  state Exp;
  311. branches ;
  312. next     1.9;
  313.  
  314. 1.9
  315. date     88.06.17.10.03.13;  author ouster;  state Exp;
  316. branches ;
  317. next     1.8;
  318.  
  319. 1.8
  320. date     88.06.17.08.47.17;  author ouster;  state Exp;
  321. branches ;
  322. next     1.7;
  323.  
  324. 1.7
  325. date     88.06.17.08.40.38;  author ouster;  state Exp;
  326. branches ;
  327. next     1.6;
  328.  
  329. 1.6
  330. date     88.06.16.11.55.03;  author ouster;  state Exp;
  331. branches ;
  332. next     1.5;
  333.  
  334. 1.5
  335. date     88.06.15.17.14.12;  author ouster;  state Exp;
  336. branches ;
  337. next     1.4;
  338.  
  339. 1.4
  340. date     88.06.06.17.22.22;  author ouster;  state Exp;
  341. branches ;
  342. next     1.3;
  343.  
  344. 1.3
  345. date     88.06.05.11.48.11;  author ouster;  state Exp;
  346. branches ;
  347. next     1.2;
  348.  
  349. 1.2
  350. date     88.04.28.17.35.07;  author ouster;  state Exp;
  351. branches ;
  352. next     1.1;
  353.  
  354. 1.1
  355. date     88.04.28.17.25.44;  author ouster;  state Exp;
  356. branches ;
  357. next     ;
  358.  
  359.  
  360. desc
  361. @@
  362.  
  363.  
  364. 1.70
  365. log
  366. @Added support for dependency analysis on .cc (C++) files.
  367. @
  368. text
  369. @#
  370. # Included makefile for managing libraries.  This makefile is used as
  371. # an include files in large libraries (like the C library) that consist
  372. # of several source subdirectories, each potentially with machine-
  373. # dependent subdirectories.
  374. #
  375. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.69 91/11/19 18:25:48 kupfer Exp Locker: elm $ SPRITE (Berkeley)
  376. #
  377. # The makefile that includes this one should already have defined the
  378. # following variables:
  379. #    NAME        base name of library (e.g. tcl, sx, c, etc.).  Since
  380. #            this directory only has a piece of the library, NAME
  381. #            is the name of the parent directory.
  382. #    SUBDIR        the name of this directory
  383. #    SRCS        all sources for library for the current target
  384. #            machine
  385. #    ALLSRCS        all sources for the library, including all sources
  386. #            for all target machines
  387. #    HDRS        all header files (public and private)
  388. #    OBJS        object files from which to create it
  389. #    CLEANOBJS    object files to be removed as part of "make clean"
  390. #            (need not just be object files)
  391. #    PUBHDRS        publicly-available headers for the library (this
  392. #            contains only machine-independent headers)
  393. #    MDPUBHDRS    machine-dependent public headers for the library
  394. #            (for the current TM)
  395. #    LINTSRCS    additional sources to be used only when generating
  396. #            lint library
  397. #    TM        target machine type for object files etc.
  398. #    MACHINES    list of all target machines currently available
  399. #            for this program
  400. #    TYPE        a keyword identifying which sort of library this
  401. #            is;  used to determine where to install, etc.
  402. #
  403. # Optional variables that may be defined by the invoker:
  404. #    XAFLAGS        additional flags to pass to assembler
  405. #    XCFLAGS        additional flags to pass to compiler
  406. #    DEPFLAGS    additional flags to pass to makedepend
  407. #    no_targets    if defined, this file will not define all of the
  408. #            basic targets (make, make clean, etc.)
  409. #
  410. #
  411.  
  412. #
  413. # The variables below should be defined in md.mk, but they are given
  414. # default values just in case md.mk doesn't exist yet.
  415. #
  416. CLEANOBJS    ?=
  417. HDRS        ?=
  418. MANPAGES    ?=
  419. MDPUBHDRS    ?=
  420. OBJS        ?=
  421. SRCS        ?=
  422.  
  423. #
  424. # Define search paths for include files and source files (for sources,
  425. # must be sure to look both in this directory and in the machine-dependent
  426. # one).
  427. #
  428. .PATH.a        : # Clear out previous, or Pmake will not look in the
  429.           # right place for files like $(REGLIB)!!  This is
  430.           # a gross bug in Pmake.
  431. .PATH.h        : # Clear out previous
  432. .PATH.h        : $(TM).md /sprite/lib/include /sprite/lib/include/$(TM).md
  433. .PATH.c        : # Clear out previous
  434. .PATH.c        : $(TM).md
  435. .PATH.s        : # Clear out previous
  436. .PATH.s        : $(TM).md
  437.  
  438. #
  439. # System programs -- assign conditionally so they may be redefined in
  440. # including makefile
  441. #
  442. BINDIR        = /sprite/cmds.$(MACHINE)
  443.  
  444. AS        ?= $(BINDIR)/as
  445. CC        ?= $(BINDIR)/cc
  446. CHGRP        ?= $(BINDIR)/chgrp
  447. CHMOD        ?= $(BINDIR)/chmod
  448. CHOWN        ?= $(BINDIR)/chown
  449. CP        ?= $(BINDIR)/cp
  450. CPP        ?= $(BINDIR)/cpp -traditional -$
  451. CTAGS        ?= $(BINDIR)/ctags
  452. ECHO        ?= $(BINDIR)/echo
  453. LINT        ?= $(BINDIR)/lint
  454. MAKEDEPEND    ?= $(BINDIR)/makedepend
  455. MV        ?= $(BINDIR)/mv
  456. RANLIB        ?= $(BINDIR)/ranlib
  457. RM        ?= $(BINDIR)/rm
  458. SED        ?= $(BINDIR)/sed
  459. TEST            ?= $(BINDIR)/test
  460. TOUCH        ?= $(BINDIR)/touch
  461. UPDATE        ?= $(BINDIR)/update
  462.  
  463. # The Ultrix ar doesn't handle truncated file names correctly.
  464.  
  465. #if !empty(MACHINE:Mds3100) || !empty(MACHINE:Mds5000)
  466. AR = $(BINDIR)/ar.sprite
  467. #else
  468. AR = $(BINDIR)/ar
  469. #endif
  470.  
  471. #
  472. # Several variables (such as where to install) are set based on the
  473. # TYPE variable.  Of course, any of these variables can be overridden
  474. # by explicit assignments.
  475. #
  476. TYPE        ?= unknown
  477. #if !empty(TYPE:Msprite)
  478. INCLUDEDIR    ?= /sprite/lib/include
  479. INSTALLMAN    ?= /sprite/man/lib/$(NAME)
  480. #elif !empty(TYPE:Mx)
  481. INCLUDEDIR    ?= /X/lib/include
  482. INSTALLMAN    ?= /X/man/lib/$(NAME)
  483. #elif !empty(TYPE:MX11R3)
  484. INCLUDEDIR    ?= /mic/X11R3/lib/include/X11
  485. INSTALLMAN    ?= /mic/X11R3/man/lib/$(NAME)
  486. #elif !empty(TYPE:MX11R4)
  487. INCLUDEDIR    ?= /X11/R4/lib/include/X11
  488. INSTALLMAN    ?= /X11/R4/man/lib/$(NAME)
  489. #endif
  490.  
  491. #
  492. # Figure out what stuff we'll pass to sub-makes.
  493. #
  494. PASSVARS    = 'INSTALLDIR=$(INSTALLDIR)' $(.MAKEFLAGS)
  495. #ifdef        XCFLAGS
  496. PASSVARS    += 'XCFLAGS=$(XCFLAGS)'
  497. #endif
  498. #ifdef        XAFLAGS
  499. PASSVARS    += 'XAFLAGS=$(XAFLAGS)'
  500. #endif
  501.  
  502. #
  503. # Flags everyone should have. XCFLAGS and XAFLAGS are provided for
  504. # the user to add flags for CC, AS or LINT from the command line.
  505. #
  506.  
  507. #include    <tm.mk>
  508. CTFLAGS        ?= -wt
  509. DEPFLAGS    ?=
  510. INSTALLFLAGS    ?=
  511. INSTALLMANFLAGS    ?=
  512. LINTFLAGS    ?= -m$(TM)
  513. LINTFLAGS    += -u -M
  514. XCFLAGS        ?=
  515. XAFLAGS        ?=
  516. #
  517. # The .INCLUDES variable already includes directories that should be
  518. # used by cc and other programs by default.  Remove them, just so that
  519. # the output looks cleaner.
  520. #
  521.  
  522. #
  523. # The ds3100 port is not ready for the -O yet.
  524. #
  525.  
  526. #if !empty(TM:Mds3100)
  527. CFLAGS        += -O $(TMCFLAGS) $(XCFLAGS) -I.
  528. GFLAG        = -g3
  529. #elif !empty(TM:Mspur)
  530. CFLAGS        += $(TMCFLAGS) $(XCFLAGS) -I.
  531. GFLAG        =
  532. #else
  533. CFLAGS        += -O $(TMCFLAGS) $(XCFLAGS) -I.
  534. GFLAG        = -g
  535. #endif
  536.  
  537. #
  538. # Since the dec compiler doesn't include /sprite/lib/include we must leave
  539. # the path as is when TM=ds3100.
  540. #
  541.  
  542. CFLAGS        += $(.INCLUDES:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g)
  543. #if empty(TM:Mds3100)
  544. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  545. #else
  546. CFLAGS        += -I/sprite/lib/include -I/sprite/lib/include/$(TM).md
  547. AFLAGS        += $(.INCLUDES)
  548. #endif
  549.  
  550. .MAKEFLAGS    : -C
  551.  
  552. #
  553. # The c library is used by the kernel.  Since the kernel does not
  554. # use the floating point coprocessor, the c library must be compiled
  555. # to use software floating point.  This isn't any big deal because
  556. # there isn't very much floating point stuff in libc anyway.
  557. #
  558.  
  559. #if !empty(TM:Msun3) && !empty(NAME:Mc)
  560. CFLAGS          += -msoft-float
  561. #endif
  562.  
  563. #
  564. # Define the various types of libraries we can make to make our rules and
  565. # maybe the user's easier to write.
  566. #
  567. REGLIB        = ../$(TM).md/lib$(NAME).a
  568. PROFLIB        = ../$(TM).md/lib$(NAME)_p.a
  569. DEBUGLIB    = ../$(TM).md/lib$(NAME)_g.a
  570. LINTLIB        = llib-l$(SUBDIR).ln
  571.  
  572. #
  573. # Figure out which files to use in cases where the file may be either
  574. # machine-dependent or machine-independent
  575. #
  576.  
  577. DEPFILE        = $(TM).md/dependencies.mk
  578. LINTFILE    = $(TM).md/lint
  579.  
  580. #
  581. # Transformation rules: these have special features to place .o files
  582. # in md subdirectories, run preprocessor over .s files, and generate
  583. # .po files for profiling.
  584. #
  585.  
  586. .SUFFIXES    : .po .go
  587.  
  588. .c.o        :
  589.     $(RM) -f $(.TARGET)
  590.     $(CC) $(CFLAGS) -c $(.IMPSRC) -o $(.TARGET)
  591. .c.po        :
  592.     $(RM) -f $(.TARGET)
  593. #ifdef NOPROFILE        
  594.     $(CC) $(CFLAGS) -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  595. #else        
  596.     $(CC) $(CFLAGS) -p -DPROFILE -c $(.IMPSRC) -o $(.TARGET)
  597. #endif               
  598.  
  599. .c.go        :
  600.     $(RM) -f $(.TARGET)
  601.     $(CC) $(CFLAGS) $(GFLAG) -c $(.IMPSRC) -o $(.TARGET)
  602. .s.go .s.po .s.o    :
  603. #if empty(TM:Mds3100)
  604.     $(CPP) $(CFLAGS:M-[IDU]*) -D$(TM) -m$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  605.     $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).pp
  606.     $(RM) -f $(.PREFIX).pp
  607. #else 
  608.     $(RM) -f $(.TARGET)
  609.     $(AS) $(AFLAGS) $(.IMPSRC) -o $(.TARGET)
  610. #endif
  611.  
  612. #
  613. # The rule below is needed to make archives, so that the archive
  614. # member depends on the corresponding .o (or .po) file.  For some
  615. # reason, this rule doesn't work without some commands (and the ...
  616. # is enough).
  617. .go.a .po.a .o.a    :
  618.     ...
  619.  
  620. #
  621. # MAKEINSTALLHDRS usage:
  622. #    <target> : MAKEINSTALLHDRS
  623. # All of the public headers files get updated to INCLUDEDIR.
  624. #
  625. MAKEINSTALLHDRS    : .USE .SILENT
  626. #if !empty(PUBHDRS)
  627.     $(UPDATE) -l -m 664 -t $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  628. #endif
  629. #if !empty(MDPUBHDRS)
  630.     $(UPDATE) -l -m 664 -t $(INSTALLFLAGS) \
  631.         $(MDPUBHDRS) $(INCLUDEDIR)/$(TM).md
  632. #endif
  633.  
  634. #
  635. # MAKELINT usage:
  636. #    <fluff-file> : <sources to be linted> MAKELINT
  637. #
  638. # <fluff-file> is the place to store the output from the lint.
  639. #
  640. MAKELINT    : .USE
  641.     $(RM) -f $(.TARGET)
  642.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[IDU]*) $(.ALLSRC:M*.c) \
  643.         > $(.TARGET) 2>&1
  644. #
  645. # MAKEDEPEND usage:
  646. #    <dependency-file> : <sources> MAKEDEPEND
  647. #
  648. # Generate dependency file suitable for inclusion in future makes.
  649.  
  650. MAKEDEPEND    : .USE
  651.     @@$(TOUCH) $(DEPFILE)
  652.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w80 -f $(DEPFILE) $(.ALLSRC)
  653.     @@$(MV) -f $(DEPFILE) $(DEPFILE).tmp
  654.     @@$(SED) -e '/^#/!s|^\([^:]*\)\.o[     ]*:|$(TM).md/\1.po $(TM).md/\1.go $(TM).md/&|' <$(DEPFILE).tmp > $(DEPFILE)
  655.     @@$(RM) -f $(DEPFILE).tmp
  656.  
  657. #ifndef no_targets
  658. #
  659. # Define all the main targets.  See the Mkmf man page for details.
  660. #
  661. default            : $(REGLIB)
  662. $(REGLIB)        : $(REGLIB)($(OBJS)) .PRECIOUS
  663.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  664.     ...
  665.     $(RANLIB) $(.TARGET)
  666. #if !empty(CLEANOBJS:M*.o) && empty(TM:Mds3100)
  667.     rm -rf $(CLEANOBJS:M*.o)
  668. #endif
  669.  
  670. # Rebuild is used to remake from scratch, doing ar q instead of ar r
  671. # to make it fast, and doing only a single ranlib at the top level
  672. #
  673. rebuild        : $(REGLIB)($(OBJS)) .PRECIOUS
  674.     $(AR) q $(REGLIB) $(.OODATE)
  675.  
  676. debug            : $(DEBUGLIB)
  677. $(DEBUGLIB)        : $(DEBUGLIB)($(OBJS:S/.o$/.go/g)) .PRECIOUS
  678.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  679.     ...
  680.     $(RANLIB)  $(.TARGET)
  681. #if !empty(CLEANOBJS:M*.o) && empty(TM:Mds3100)
  682.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.go/g)
  683. #endif
  684.  
  685. clean            ! .IGNORE
  686.     $(RM) -f $(CLEANOBJS) $(CLEANOBJS:M*.o:S/.o$/.po/g) \
  687.         $(CLEANOBJS:M*.o:S/.o$/.go/g) $(TM).md/$(LINTLIB) \
  688.         $(LINTFILE) y.tab.c lex.yy.c core a.out *~ \
  689.         $(TM).md/*~ version.h
  690.     $(AR) d $(REGLIB) $(OBJS)
  691.     $(RANLIB) $(REGLIB)
  692.     $(AR) d $(PROFLIB) $(OBJS:S/.o$/.po/g)
  693.     $(RANLIB) $(PROFLIB)
  694.     $(AR) d $(DEBUGLIB) $(OBJS:S/.o$/.go/g)
  695.     $(RANLIB) $(DEBUGLIB)
  696.  
  697. depend            :: $(DEPFILE)
  698. $(DEPFILE)        ! $(SRCS:M*.c) $(SRCS:M*.s) $(SRCS:M*.cc) MAKEDEPEND
  699.  
  700. install            :: $(REGLIB) installhdrs installman lintlib
  701. installdebug        :: $(DEBUGLIB)
  702. installhdrs        :: MAKEINSTALLHDRS
  703. #if empty(MANPAGES)
  704. installman        :: .SILENT
  705.     echo "No man pages for library $(NAME)/$(SUBDIR)?  Please write some."
  706. #elif !empty(MANPAGES:MNONE)
  707. installman        ::
  708.  
  709. #elif defined(INSTALLMAN)
  710. installman        :: .SILENT
  711.     $(UPDATE) -m 444 -l $(INSTALLMANFLAGS) $(MANPAGES) $(INSTALLMAN)
  712. #else
  713. installman        :: .SILENT
  714.     echo "Can't install man page(s): no install directory defined"
  715. #endif
  716. installprofile        :: $(PROFLIB)
  717.  
  718. lint            :: $(LINTFILE)
  719. $(LINTFILE)        : $(SRCS:M*.c) $(HDRS) MAKELINT
  720.  
  721. lintlib            :: $(TM).md/$(LINTLIB)
  722. $(TM).md/$(LINTLIB)    : $(SRCS:M*.c) $(HDRS) $(LINTSRCS)
  723.     $(RM) -f $(.TARGET) llib-l$(SUBDIR).ln
  724.     $(LINT) -C$(NAME) $(CFLAGS:M-[IDU]*) -DLINTLIB $(LINTFLAGS) \
  725.         $(SRCS:M*.c) $(LINTSRCS)
  726.     $(MV) llib-l$(NAME).ln $(.TARGET)
  727.  
  728. mkmf            ! .SILENT
  729.     mkmf
  730.  
  731. newtm            ! .SILENT
  732.     if $(TEST) -d $(TM).md; then
  733.         true
  734.     else
  735.         mkdir $(TM).md;
  736.         chmod 775 $(TM).md;
  737.         mkmf -m$(TM)
  738.     fi
  739.  
  740. profile            :: $(PROFLIB)
  741. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g)) .PRECIOUS
  742.     $(AR) $(ARFLAGS) $(.TARGET) $(.OODATE)
  743.     ...
  744.     $(RANLIB)  $(.TARGET)
  745. #if !empty(CLEANOBJS:M*.o) && empty(TM:Mds3100)
  746.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.po/g)
  747. #endif
  748.  
  749. tags            :: $(ALLSRCS:M*.c) $(HDRS)
  750.     $(CTAGS) $(CTFLAGS) $(ALLSRCS:M*.c)
  751.  
  752. DISTFILES    ?=
  753.  
  754. dist        !
  755. #if defined(DISTDIR) && !empty(DISTDIR)
  756.     for i in Makefile local.mk $(TM).md/md.mk \
  757.         $(MANPAGES) $(SRCS) $(HDRS) $(DISTFILES)
  758.     do
  759.     if $(TEST) -e $${i}; then
  760.         $(UPDATE)  $${i} $(DISTDIR)/$${i} ;else true; fi
  761.     done
  762. #else
  763.     @@echo "Sorry, no distribution directory defined"
  764. #endif
  765.  
  766. #include        <all.mk>
  767. #endif no_targets
  768.  
  769. #include        <rdist.mk>
  770. @
  771.  
  772.  
  773. 1.69
  774. log
  775. @makedepend doesn't like -U, so don't pass it in from CFLAGS.
  776. @
  777. text
  778. @d7 1
  779. a7 1
  780. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.68 91/11/06 18:31:37 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  781. d331 1
  782. a331 1
  783. $(DEPFILE)        ! $(SRCS:M*.c) $(SRCS:M*.s) MAKEDEPEND
  784. @
  785.  
  786.  
  787. 1.68
  788. log
  789. @Make sure -M and -u are always set in LINTFLAGS.  Pass -U flags to
  790. cpp, lint, makedepend.
  791. @
  792. text
  793. @d7 1
  794. a7 1
  795. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.67 91/06/04 14:13:17 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  796. d284 1
  797. a284 1
  798.     $(MAKEDEPEND) $(CFLAGS:M-[IDU]*) -m $(TM) -w80 -f $(DEPFILE) $(.ALLSRC)
  799. @
  800.  
  801.  
  802. 1.67
  803. log
  804. @ds5000 needs to use ar.sprite.
  805. @
  806. text
  807. @d7 1
  808. a7 1
  809. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.66 90/11/15 23:35:02 rab Exp Locker: kupfer $ SPRITE (Berkeley)
  810. d144 2
  811. a145 1
  812. LINTFLAGS    ?= -M -u -m$(TM)
  813. d236 1
  814. a236 1
  815.     $(CPP) $(CFLAGS:M-[ID]*) -D$(TM) -m$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  816. d274 1
  817. a274 1
  818.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[ID]*) $(.ALLSRC:M*.c) \
  819. d284 1
  820. a284 1
  821.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w80 -f $(DEPFILE) $(.ALLSRC)
  822. d357 1
  823. a357 1
  824.     $(LINT) -C$(NAME) $(CFLAGS:M-[ID]*) -DLINTLIB $(LINTFLAGS) \
  825. @
  826.  
  827.  
  828. 1.66
  829. log
  830. @Fixed profile stuff.
  831. @
  832. text
  833. @d7 1
  834. a7 1
  835. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.65 90/11/02 08:42:18 mendel Exp Locker: rab $ SPRITE (Berkeley)
  836. d95 3
  837. a97 1
  838. #if !empty(MACHINE:Mds3100)
  839. @
  840.  
  841.  
  842. 1.65
  843. log
  844. @Added /X11/R4 stuff
  845. @
  846. text
  847. @d7 1
  848. a7 1
  849. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.64 90/03/08 12:19:38 douglis Exp $ SPRITE (Berkeley)
  850. d222 6
  851. a227 3
  852.     $(CC) -S $(CFLAGS) -p -DPROFILE $(.IMPSRC)
  853.     $(AS) -o $(.TARGET) $(AFLAGS) $(.PREFIX).s
  854.     $(RM) -f $(.PREFIX).s
  855. @
  856.  
  857.  
  858. 1.64
  859. log
  860. @changed s/ to S/
  861. @
  862. text
  863. @d7 1
  864. a7 1
  865. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.63 90/02/20 11:49:50 douglis Exp Locker: douglis $ SPRITE (Berkeley)
  866. d116 3
  867. @
  868.  
  869.  
  870. 1.63
  871. log
  872. @tried to add some consistency to ::/: operators, and fixed tve's TYPE==personal complaint
  873. @
  874. text
  875. @d7 1
  876. a7 1
  877. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.62 90/02/01 01:12:08 tve Exp Locker: douglis $ SPRITE (Berkeley)
  878. d316 1
  879. a316 1
  880.     $(AR) d $(PROFLIB) $(OBJS:s/.o$/.po/g)
  881. d318 1
  882. a318 1
  883.     $(AR) d $(DEBUGLIB) $(OBJS:s/.o$/.go/g)
  884. @
  885.  
  886.  
  887. 1.62
  888. log
  889. @fixed the fact that /sprite/lib/include and /sprite/lib/include/ds3100.md
  890. are included *before* include dirs specified in the local.mk
  891. @
  892. text
  893. @d7 1
  894. a7 1
  895. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.61 89/11/30 13:56:09 rab Exp Locker: tve $ SPRITE (Berkeley)
  896. d321 1
  897. a321 1
  898. depend            : $(DEPFILE)
  899. d325 2
  900. a326 2
  901. installdebug        : $(DEBUGLIB)
  902. installhdrs        : MAKEINSTALLHDRS
  903. d328 1
  904. a328 1
  905. installman        : .SILENT
  906. d334 1
  907. a334 1
  908. installman        : .SILENT
  909. d337 1
  910. a337 1
  911. installman        : .SILENT
  912. d340 1
  913. a340 1
  914. installprofile        : $(PROFLIB)
  915. d342 1
  916. a342 1
  917. lint            : $(LINTFILE)
  918. d345 1
  919. a345 1
  920. lintlib            : $(TM).md/$(LINTLIB)
  921. d364 1
  922. a364 1
  923. profile            : $(PROFLIB)
  924. @
  925.  
  926.  
  927. 1.61
  928. log
  929. @Changed dist: to dist!,
  930. @
  931. text
  932. @d7 1
  933. a7 1
  934. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.60 89/11/30 11:10:41 douglis Exp Locker: rab $ SPRITE (Berkeley)
  935. d168 1
  936. a169 1
  937. CFLAGS        += $(.INCLUDES:S|^-I/sprite/lib/include$||g:S|^-I/sprite/lib/include/$(TM).md$||g)
  938. d172 1
  939. a172 1
  940. CFLAGS        += $(.INCLUDES)
  941. @
  942.  
  943.  
  944. 1.60
  945. log
  946. @use different ar for ds3100 to make sure it replaces instead of
  947. appending a separate copy
  948. @
  949. text
  950. @d7 1
  951. a7 1
  952. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.59 89/10/20 13:57:51 douglis Exp Locker: douglis $ SPRITE (Berkeley)
  953. d376 1
  954. a376 1
  955. DISTOBJS    ?=
  956. d378 1
  957. a378 1
  958. dist:
  959. d381 1
  960. a381 1
  961.         $(MANPAGES) $(SRCS) $(HDRS) $(DISTOBJS)
  962. @
  963.  
  964.  
  965. 1.59
  966. log
  967. @don't remove ds3100 debug files -- need for rebuilding by hand
  968. @
  969. text
  970. @d7 1
  971. a7 1
  972. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.58 89/10/11 16:53:22 ouster Exp Locker: douglis $ SPRITE (Berkeley)
  973. d95 6
  974. d286 1
  975. a286 1
  976.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  977. d298 1
  978. a298 1
  979.     ar q $(REGLIB) $(.OODATE)
  980. d302 1
  981. a302 1
  982.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  983. d314 1
  984. a314 1
  985.     ar d $(REGLIB) $(OBJS)
  986. d316 1
  987. a316 1
  988.     ar d $(PROFLIB) $(OBJS:s/.o$/.po/g)
  989. d318 1
  990. a318 1
  991.     ar d $(DEBUGLIB) $(OBJS:s/.o$/.go/g)
  992. d366 1
  993. a366 1
  994.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  995. @
  996.  
  997.  
  998. 1.58
  999. log
  1000. @Didn't turn on optimization correctly in last revision.
  1001. @
  1002. text
  1003. @d7 1
  1004. a7 1
  1005. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.57 89/10/11 16:46:02 ouster Exp $ SPRITE (Berkeley)
  1006. d299 1
  1007. a299 1
  1008. #if !empty(CLEANOBJS:M*.o)
  1009. @
  1010.  
  1011.  
  1012. 1.57
  1013. log
  1014. @Use optimization for DS3100's.
  1015. @
  1016. text
  1017. @d7 1
  1018. a7 1
  1019. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.56 89/10/10 02:36:43 tve Exp Locker: ouster $ SPRITE (Berkeley)
  1020. d147 2
  1021. a148 1
  1022. CFLAGS        += -g3 -O $(TMCFLAGS) $(XCFLAGS) -I.
  1023. d151 1
  1024. d154 1
  1025. d218 1
  1026. a218 1
  1027.     $(CC) $(CFLAGS) -g -c $(.IMPSRC) -o $(.TARGET)
  1028. @
  1029.  
  1030.  
  1031. 1.56
  1032. log
  1033. @fixed INCLUDEDIR for X11R3
  1034. @
  1035. text
  1036. @d7 1
  1037. a7 1
  1038. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.55 89/10/09 16:58:46 tve Exp Locker: tve $ SPRITE (Berkeley)
  1039. d147 1
  1040. a147 1
  1041. CFLAGS        += -g $(TMCFLAGS) $(XCFLAGS) -I.
  1042. @
  1043.  
  1044.  
  1045. 1.55
  1046. log
  1047. @Added INSTALLMAN, INSTALLDIR for TYPE=X11R3
  1048. @
  1049. text
  1050. @d7 1
  1051. a7 1
  1052. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.54 89/10/09 06:55:04 rab Exp $ SPRITE (Berkeley)
  1053. d108 1
  1054. a108 1
  1055. INCLUDEDIR    ?= /mic/X11R3/lib/include
  1056. @
  1057.  
  1058.  
  1059. 1.54
  1060. log
  1061. @Fixed distribution stuff.
  1062. @
  1063. text
  1064. @d7 1
  1065. a7 1
  1066. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.53 89/10/02 10:04:46 rab Exp Locker: rab $ SPRITE (Berkeley)
  1067. d107 3
  1068. @
  1069.  
  1070.  
  1071. 1.53
  1072. log
  1073. @Added Distribution stuff.
  1074. @
  1075. text
  1076. @d7 1
  1077. a7 1
  1078. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.52 89/09/27 12:31:06 douglis Exp Locker: rab $ SPRITE (Berkeley)
  1079. d91 1
  1080. d344 1
  1081. a344 1
  1082.     if test -d $(TM).md; then
  1083. d371 2
  1084. a372 1
  1085.     if test -e $${i}; then $(UPDATE)  $${i} $(DISTDIR)/$${i} ;fi
  1086. @
  1087.  
  1088.  
  1089. 1.52
  1090. log
  1091. @added rebuild target and fix cpp -m missing flag 
  1092. @
  1093. text
  1094. @d7 1
  1095. a7 1
  1096. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.51 89/09/06 04:53:41 rab Exp Locker: douglis $ SPRITE (Berkeley)
  1097. d362 13
  1098. @
  1099.  
  1100.  
  1101. 1.51
  1102. log
  1103. @Added -msoft-float switch for sun3 C library.
  1104. @
  1105. text
  1106. @d7 1
  1107. a7 1
  1108. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.50 89/08/31 16:10:21 rab Exp Locker: rab $ SPRITE (Berkeley)
  1109. d214 1
  1110. a214 1
  1111.     $(CPP) $(CFLAGS:M-[ID]*) -D$(TM) -D_ASM $(.IMPSRC) > $(.PREFIX).pp
  1112. d279 7
  1113. @
  1114.  
  1115.  
  1116. 1.50
  1117. log
  1118. @Added -D_ASM to .s.o rule.
  1119. @
  1120. text
  1121. @d7 1
  1122. a7 1
  1123. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.49 89/08/27 14:08:06 mgbaker Exp Locker: rab $ SPRITE (Berkeley)
  1124. d164 11
  1125. @
  1126.  
  1127.  
  1128. 1.49
  1129. log
  1130. @sun4 compilations fixed so we don't need the extra include paths.
  1131. @
  1132. text
  1133. @d7 1
  1134. a7 1
  1135. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.48 89/07/21 18:29:09 douglis Exp $ SPRITE (Berkeley)
  1136. d203 1
  1137. a203 1
  1138.     $(CPP) $(CFLAGS:M-[ID]*) -D$(TM) $(.IMPSRC) > $(.PREFIX).pp
  1139. a208 1
  1140.  
  1141. @
  1142.  
  1143.  
  1144. 1.48
  1145. log
  1146. @changed newtm to do mkmf for only the new machine type
  1147. @
  1148. text
  1149. @d7 1
  1150. a7 1
  1151. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.47 89/07/21 18:27:08 mgbaker Exp Locker: douglis $ SPRITE (Berkeley)
  1152. d142 1
  1153. a142 1
  1154. #if !empty(TM:Mds3100) || !empty(TM:Msun4)
  1155. @
  1156.  
  1157.  
  1158. 1.47
  1159. log
  1160. @Temporary change for sun4.
  1161. @
  1162. text
  1163. @d7 1
  1164. a7 1
  1165. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.46 89/07/20 17:35:44 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  1166. d331 1
  1167. a331 1
  1168.         mkmf
  1169. @
  1170.  
  1171.  
  1172. 1.46
  1173. log
  1174. @Got rid of extra porting stuff for sun4.
  1175. @
  1176. text
  1177. @d7 1
  1178. a7 1
  1179. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.45 89/07/13 13:53:16 nelson Exp Locker: mgbaker $ SPRITE (Berkeley)
  1180. d142 1
  1181. a142 1
  1182. #if !empty(TM:Mds3100)
  1183. @
  1184.  
  1185.  
  1186. 1.45
  1187. log
  1188. @Added ds3100 support.
  1189. @
  1190. text
  1191. @d7 1
  1192. a7 1
  1193. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.44 89/03/15 22:24:37 douglis Exp Locker: mgbaker $ SPRITE (Berkeley)
  1194. d138 3
  1195. a140 2
  1196. # The sun4 port is not ready for the -O yet. It also can't handle the 
  1197. # make debug .go files.
  1198. d142 1
  1199. a142 1
  1200. #if !empty(TM:Msun4) || !empty(TM:Mds3100)
  1201. d151 2
  1202. a152 2
  1203. # Since the sun4 compiler doesn't include /sprite/lib/include we must leave
  1204. # the path as is when TM=sun4.
  1205. d155 1
  1206. a155 1
  1207. #if empty(TM:Msun4) && empty(TM:Mds3100)
  1208. a156 3
  1209. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  1210. #elif !empty(TM:Msun4)
  1211. CFLAGS        += $(.INCLUDES)
  1212. @
  1213.  
  1214.  
  1215. 1.44
  1216. log
  1217. @added check for MANPAGES = NONE to override complaint about lack of man
  1218. pages.
  1219. @
  1220. text
  1221. @d7 1
  1222. a7 1
  1223. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.43 89/02/22 13:04:32 mgbaker Exp Locker: douglis $ SPRITE (Berkeley)
  1224. d137 9
  1225. d147 2
  1226. d154 1
  1227. a154 1
  1228. #if empty(TM:Msun4)
  1229. d156 4
  1230. d162 1
  1231. a163 1
  1232. AFLAGS        += $(TMAFLAGS) $(XAFLAGS)
  1233. d204 1
  1234. d208 5
  1235. d268 1
  1236. a268 1
  1237. #if !empty(CLEANOBJS:M*.o)
  1238. d341 1
  1239. a341 1
  1240. #if !empty(CLEANOBJS:M*.o)
  1241. @
  1242.  
  1243.  
  1244. 1.43
  1245. log
  1246. @sun4 changes
  1247. @
  1248. text
  1249. @d7 1
  1250. a7 1
  1251. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.42 88/12/31 14:47:17 ouster Exp Locker: mgbaker $ SPRITE (Berkeley)
  1252. d281 3
  1253. @
  1254.  
  1255.  
  1256. 1.42
  1257. log
  1258. @Use TYPE variable to decide on things like INSTALLDIR, INCLUDEDIR, etc.
  1259. @
  1260. text
  1261. @d7 1
  1262. a7 1
  1263. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.41 88/12/23 14:50:45 ouster Exp $ SPRITE (Berkeley)
  1264. d138 6
  1265. d145 3
  1266. @
  1267.  
  1268.  
  1269. 1.41
  1270. log
  1271. @Use "::" for install, so that other stuff can be tacked on to it.
  1272. @
  1273. text
  1274. @d7 1
  1275. a7 1
  1276. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.40 88/11/23 17:27:52 ouster Exp $ SPRITE (Berkeley)
  1277. a22 1
  1278. #    INCLUDEDIR    place to install public header files
  1279. d32 2
  1280. d50 1
  1281. d95 14
  1282. d128 1
  1283. d266 1
  1284. a266 1
  1285. install            :: $(REGLIB)
  1286. d269 10
  1287. d291 1
  1288. a291 1
  1289. mkmf            !
  1290. @
  1291.  
  1292.  
  1293. 1.40
  1294. log
  1295. @Revisions to make "make newtm" work.
  1296. @
  1297. text
  1298. @d7 1
  1299. a7 1
  1300. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.39 88/11/23 09:54:24 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1301. d249 1
  1302. a249 1
  1303. install            : $(REGLIB)
  1304. @
  1305.  
  1306.  
  1307. 1.39
  1308. log
  1309. @Remove backward compatibility;  it shouldn't be needed anymore.
  1310. @
  1311. text
  1312. @d7 1
  1313. a7 1
  1314. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.38 88/11/23 09:51:34 ouster Exp $ SPRITE (Berkeley)
  1315. d41 1
  1316. d44 10
  1317. d267 8
  1318. a274 3
  1319. newtm            ! .IGNORE
  1320.     mkdir $(TM).md
  1321.     mkmf
  1322. @
  1323.  
  1324.  
  1325. 1.38
  1326. log
  1327. @Major changes to finalize the new C library (move include.new to
  1328. include, etc.).
  1329. @
  1330. text
  1331. @d7 1
  1332. a7 1
  1333. # $Header: /sprite/lib/pmake/RCS/biglib.mk,v 1.37 88/09/24 11:11:04 ouster Exp Locker: ouster $ SPRITE (Berkeley)
  1334. a40 8
  1335.  
  1336. #
  1337. # For backward compatibility with old Makefiles, assign NAME from
  1338. # LIBRARY if LIBRARY exists.  This feature should go away soon.
  1339. #
  1340. #ifdef LIBRARY
  1341. NAME        := $(LIBRARY)
  1342. #endif
  1343. @
  1344.  
  1345.  
  1346. 1.37
  1347. log
  1348. @Ensure that there are dependencies for .go and .po files as well
  1349. as .o files.
  1350. @
  1351. text
  1352. @d7 1
  1353. a7 1
  1354. # $Header: biglib.mk,v 1.36 88/08/26 14:35:34 ouster Exp $ SPRITE (Berkeley)
  1355. d11 2
  1356. a12 2
  1357. #    LIBRARY        base name of library (e.g. tcl, sx, c, etc.).  Since
  1358. #            this directory only has a piece of the library, LIBRARY
  1359. d43 8
  1360. d55 3
  1361. d59 1
  1362. a59 2
  1363. .PATH.h        : $(TM).md /sprite/lib/include.new \
  1364.             /sprite/lib/include.new/$(TM).md
  1365. d71 1
  1366. a71 1
  1367. AS        ?= /sprite/cmds/as
  1368. d105 5
  1369. a109 1
  1370. #include    <tmflags.mk>
  1371. d112 7
  1372. a118 3
  1373. INSTALLFLAGS    ?=
  1374. DEPFLAGS    ?=
  1375. CFLAGS        += $(TMCFLAGS) $(XCFLAGS) -I. $(.INCLUDES)
  1376. a119 1
  1377. LINTFLAGS    ?= -m -u
  1378. d127 3
  1379. a129 3
  1380. REGLIB        = ../$(TM).md/lib$(LIBRARY).a
  1381. PROFLIB        = ../$(TM).md/lib$(LIBRARY)_p.a
  1382. DEBUGLIB    = ../$(TM).md/lib$(LIBRARY)_g.a
  1383. d160 1
  1384. a160 1
  1385.     $(CPP) $(CFLAGS:M-[ID]*) $(.IMPSRC) > $(.PREFIX).pp
  1386. d221 1
  1387. a221 8
  1388. profile            : $(PROFLIB)
  1389. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g)) .PRECIOUS
  1390.     ar $(ARFLAGS) $(.TARGET) $(.OODATE)
  1391.     ...
  1392.     $(RANLIB)  $(.TARGET)
  1393. #if !empty(CLEANOBJS:M*.o)
  1394.     rm -rf $(CLEANOBJS:M*.o:S/.o$/.po/g)
  1395. #endif
  1396. d231 5
  1397. a235 8
  1398. depend            : $(DEPFILE)
  1399. $(DEPFILE)        ! $(SRCS:M*.c) $(SRCS:M*.s) MAKEDEPEND
  1400.  
  1401. clean            !
  1402.     $(RM) -f $(CLEANOBJS) $(CLEANOBJS:M*.o:S/.o$/.po/g) y.tab.c \
  1403.         lex.yy.c core a.out *~ $(TM).md/*~ version.h
  1404.  
  1405. cleanlib        ! .IGNORE
  1406. d243 2
  1407. a244 2
  1408. tags            :: $(ALLSRCS:M*.c) $(HDRS)
  1409.     $(CTAGS) $(CTFLAGS) $(ALLSRCS:M*.c)
  1410. d246 5
  1411. d257 1
  1412. a257 1
  1413.     $(LINT) -C$(LIBRARY) $(CFLAGS:M-[ID]*) -DLINTLIB $(LINTFLAGS) \
  1414. d259 1
  1415. a259 1
  1416.     $(MV) llib-l$(LIBRARY).ln $(.TARGET)
  1417. d261 2
  1418. a262 4
  1419. installhdrs        : MAKEINSTALLHDRS
  1420. install            : $(REGLIB)
  1421. installprofile        : $(PROFLIB)
  1422. installdebug        : $(DEBUGLIB)
  1423. d264 16
  1424. a281 2
  1425.  
  1426. mkmf makemake        :: .NOTMAIN    # Does nothing. Says nothing.
  1427. @
  1428.  
  1429.  
  1430. 1.36
  1431. log
  1432. @Switch to use newly-installed version of makedepend.
  1433. @
  1434. text
  1435. @d7 1
  1436. a7 1
  1437. # $Header: biglib.mk,v 1.35 88/08/20 11:35:17 ouster Exp $ SPRITE (Berkeley)
  1438. d187 1
  1439. a187 1
  1440.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -m $(TM) -w60 -f $(DEPFILE) $(.ALLSRC)
  1441. d189 1
  1442. a189 1
  1443.     @@$(SED) -e '/^#/!s|^.|$(TM).md/&|' <$(DEPFILE).tmp > $(DEPFILE)
  1444. @
  1445.  
  1446.  
  1447. 1.35
  1448. log
  1449. @Change update args:  leave things writable, strip binaries, don't
  1450. change owner to root.
  1451. @
  1452. text
  1453. @d7 1
  1454. a7 1
  1455. # $Header: biglib.mk,v 1.34 88/08/19 15:50:18 ouster Exp $ SPRITE (Berkeley)
  1456. d71 1
  1457. a71 1
  1458. MAKEDEPEND    ?= /sprite/cmds/makedepend
  1459. d187 1
  1460. a187 1
  1461.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -w60 -f $(DEPFILE) $(.ALLSRC)
  1462. @
  1463.  
  1464.  
  1465. 1.34
  1466. log
  1467. @Switch back once again to new cpp, using "$" switch (hopefully) to
  1468. make everything finally work.
  1469. @
  1470. text
  1471. @d7 1
  1472. a7 1
  1473. # $Header: biglib.mk,v 1.33 88/08/18 16:11:19 ouster Exp $ SPRITE (Berkeley)
  1474. d162 1
  1475. a162 1
  1476.     $(UPDATE) -l -m 444 -o root -t $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  1477. d165 1
  1478. a165 1
  1479.     $(UPDATE) -l -m 444 -o root -t $(INSTALLFLAGS) \
  1480. @
  1481.  
  1482.  
  1483. 1.33
  1484. log
  1485. @Always give "-traditional" switch to cpp.
  1486. @
  1487. text
  1488. @d7 1
  1489. a7 1
  1490. # $Header: biglib.mk,v 1.32 88/08/18 15:55:01 ouster Exp $ SPRITE (Berkeley)
  1491. d67 1
  1492. a67 1
  1493. CPP        ?= $(BINDIR)/cpp -traditional
  1494. @
  1495.  
  1496.  
  1497. 1.32
  1498. log
  1499. @Backed out of temporary change from last week that turned
  1500. off symbol-less libraries.
  1501. @
  1502. text
  1503. @d7 1
  1504. a7 1
  1505. # $Header: biglib.mk,v 1.31 88/08/18 15:52:20 ouster Exp $ SPRITE (Berkeley)
  1506. d67 1
  1507. a67 1
  1508. CPP        ?= $(BINDIR)/cpp
  1509. @
  1510.  
  1511.  
  1512. 1.31
  1513. log
  1514. @Switch over to use new cpp.
  1515. @
  1516. text
  1517. @d7 1
  1518. a7 1
  1519. # $Header: biglib.mk,v 1.30 88/08/18 15:19:58 ouster Exp $ SPRITE (Berkeley)
  1520. d196 1
  1521. a196 1
  1522. default            : $(DEBUGLIB)
  1523. d250 1
  1524. a250 1
  1525. install            : $(DEBUGLIB)
  1526. @
  1527.  
  1528.  
  1529. 1.30
  1530. log
  1531. @Use new update, use current time when installing headers.
  1532. @
  1533. text
  1534. @d7 1
  1535. a7 1
  1536. # $Header: biglib.mk,v 1.29 88/08/18 11:05:14 ouster Exp $ SPRITE (Berkeley)
  1537. d67 1
  1538. a67 1
  1539. CPP        ?= /sprite/lib/cpp
  1540. @
  1541.  
  1542.  
  1543. 1.29
  1544. log
  1545. @Undid things to avoid installing libs not compiled with "-g":
  1546. they have bugs in them from Gcc.
  1547. @
  1548. text
  1549. @d7 1
  1550. a7 1
  1551. # $Header: biglib.mk,v 1.28 88/08/13 11:18:23 ouster Exp $ SPRITE (Berkeley)
  1552. d77 1
  1553. a77 1
  1554. UPDATE        ?= /sprite/cmds/update -i
  1555. d162 1
  1556. a162 1
  1557.     $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) $(PUBHDRS) $(INCLUDEDIR)
  1558. d165 1
  1559. a165 1
  1560.     $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  1561. @
  1562.  
  1563.  
  1564. 1.28
  1565. log
  1566. @Needed ".s.go" transformation rules.
  1567. @
  1568. text
  1569. @d7 1
  1570. a7 1
  1571. # $Header: biglib.mk,v 1.27 88/08/12 17:49:24 ouster Exp $ SPRITE (Berkeley)
  1572. d196 1
  1573. a196 1
  1574. default            : $(REGLIB)
  1575. d250 1
  1576. a250 1
  1577. install            : $(REGLIB)
  1578. @
  1579.  
  1580.  
  1581. 1.27
  1582. log
  1583. @Forgot to close off #if in previous change (how'd it ever work at all?).
  1584. @
  1585. text
  1586. @d7 1
  1587. a7 1
  1588. # $Header: biglib.mk,v 1.26 88/08/12 16:35:28 ouster Exp $ SPRITE (Berkeley)
  1589. d142 1
  1590. a142 1
  1591. .s.po .s.o    :
  1592. @
  1593.  
  1594.  
  1595. 1.26
  1596. log
  1597. @Added debug entries, plus install{debug|profile|}
  1598. @
  1599. text
  1600. @d7 1
  1601. a7 1
  1602. # $Header: biglib.mk,v 1.25 88/08/12 10:55:53 ouster Exp $ SPRITE (Berkeley)
  1603. d219 1
  1604. @
  1605.  
  1606.  
  1607. 1.25
  1608. log
  1609. @Changed CCFLAGS -> XCFLAGS, CAFLAGS -> XAFLAGS.
  1610. @
  1611. text
  1612. @d7 1
  1613. a7 1
  1614. # $Header: biglib.mk,v 1.24 88/07/28 13:11:57 ouster Exp $ SPRITE (Berkeley)
  1615. d112 1
  1616. d129 1
  1617. a129 1
  1618. .SUFFIXES    : .po
  1619. d139 3
  1620. d152 1
  1621. a152 1
  1622. .po.a .o.a    :
  1623. d194 1
  1624. a194 4
  1625. # We should define the main targets (make, make install, make lint,
  1626. # make clean, make depend make profile).  For each general target type,
  1627. # three different specifications are possible to control which target
  1628. # machines apply:
  1629. d196 1
  1630. a196 10
  1631. # 1. specify the target generically:  "make" or "make install"; this
  1632. #    will make for the machine defined in the TM variable (which
  1633. #    can be overridden on the command line).
  1634. # 2. specify the target by appending a machine name: "make sun3" or
  1635. #    "make installsun3":  this will make the given target for the
  1636. #    given machine.
  1637. # 3. specify the target by appending "all": "make all" or "make installall";
  1638. #    this will run several makes to make the given target for all known
  1639. #    machine types.
  1640. #
  1641. d204 2
  1642. a205 1
  1643. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g))
  1644. d212 7
  1645. d227 1
  1646. a227 1
  1647. cleanlib        !
  1648. d230 4
  1649. a247 2
  1650. library            : $(REGLIB)
  1651. profile            : $(PROFLIB)
  1652. d249 3
  1653. @
  1654.  
  1655.  
  1656. 1.24
  1657. log
  1658. @Temporarily back out to old cpp.
  1659. @
  1660. text
  1661. @d7 1
  1662. a7 1
  1663. # $Header: biglib.mk,v 1.23 88/07/27 18:07:53 ouster Exp $ SPRITE (Berkeley)
  1664. d35 2
  1665. a36 2
  1666. #    CAFLAGS        additional flags to pass to assembler
  1667. #    CCFLAGS        additional flags to pass to compiler
  1668. d83 2
  1669. a84 2
  1670. #ifdef        CCFLAGS
  1671. PASSVARS    += 'CCFLAGS=$(CCFLAGS)'
  1672. d86 2
  1673. a87 2
  1674. #ifdef        CAFLAGS
  1675. PASSVARS    += 'CAFLAGS=$(CAFLAGS)'
  1676. d91 1
  1677. a91 1
  1678. # Flags everyone should have. CCFLAGS and CAFLAGS are provided for
  1679. d96 2
  1680. a97 2
  1681. CCFLAGS        ?=
  1682. CAFLAGS        ?=
  1683. d100 2
  1684. a101 2
  1685. CFLAGS        += $(TMCFLAGS) $(CCFLAGS) -I. $(.INCLUDES)
  1686. AFLAGS        += $(TMAFLAGS) $(CAFLAGS)
  1687. @
  1688.  
  1689.  
  1690. 1.23
  1691. log
  1692. @More changes for linting.
  1693. @
  1694. text
  1695. @d7 1
  1696. a7 1
  1697. # $Header: biglib.mk,v 1.21 88/07/27 17:36:04 ouster Exp $ SPRITE (Berkeley)
  1698. d67 1
  1699. a67 1
  1700. CPP        ?= $(BINDIR)cpp
  1701. @
  1702.  
  1703.  
  1704. 1.22
  1705. log
  1706. @Fixed problem with CPP.
  1707. @
  1708. text
  1709. @d67 1
  1710. a67 1
  1711. CPP        ?= $(BINDIR)/cpp
  1712. d102 1
  1713. a102 1
  1714. LINTFLAGS    ?= -n -u
  1715. d174 1
  1716. a174 1
  1717.         $(.ALLSRC:M*.lint) > $(.TARGET) 2>&1
  1718. @
  1719.  
  1720.  
  1721. 1.21
  1722. log
  1723. @Changes to get lint libraries to work.
  1724. @
  1725. text
  1726. @d7 1
  1727. a7 1
  1728. # $Header: biglib.mk,v 1.20 88/07/13 15:56:55 ouster Exp $ SPRITE (Berkeley)
  1729. d67 1
  1730. a67 1
  1731. CPP        ?= $(BINDIR)cpp
  1732. @
  1733.  
  1734.  
  1735. 1.20
  1736. log
  1737. @Use "-i" switch to update to be safe (until kernel bug gets fixed).
  1738. @
  1739. text
  1740. @d7 1
  1741. a7 1
  1742. # $Header: biglib.mk,v 1.19 88/07/13 13:30:20 ouster Exp $ SPRITE (Berkeley)
  1743. d59 1
  1744. a59 1
  1745. BINDIR        = /sprite/cmds
  1746. d61 1
  1747. a61 1
  1748. AS        ?= $(BINDIR)/as
  1749. d67 1
  1750. a67 1
  1751. CPP        ?= /sprite/lib/cpp
  1752. d71 1
  1753. a71 1
  1754. MAKEDEPEND    ?= $(BINDIR)/makedepend
  1755. d77 1
  1756. a77 1
  1757. UPDATE        ?= $(BINDIR)/update -i
  1758. d102 1
  1759. a102 1
  1760. LINTFLAGS    ?= -S -n -u
  1761. d237 6
  1762. a242 4
  1763. lintlib            : $(LINTLIB)
  1764. $(LINTLIB)        : $(SRCS:M*.c) $(HDRS) $(LINTSRCS)
  1765.     $(RM) -f $(.TARGET)
  1766.     $(LINT) -C$(SUBDIR) $(CFLAGS:M-[ID]*) $(LINTFLAGS) $(.ALLSRC)
  1767. @
  1768.  
  1769.  
  1770. 1.19
  1771. log
  1772. @Run ranlib after cleanlib.
  1773. @
  1774. text
  1775. @d7 1
  1776. a7 1
  1777. # $Header: biglib.mk,v 1.18 88/07/13 10:25:48 ouster Exp $ SPRITE (Berkeley)
  1778. d77 1
  1779. a77 1
  1780. UPDATE        ?= $(BINDIR)/update
  1781. @
  1782.  
  1783.  
  1784. 1.18
  1785. log
  1786. @Reverse send of "define_targets", replace with "no_targets".
  1787. @
  1788. text
  1789. @d7 1
  1790. a7 1
  1791. # $Header: biglib.mk,v 1.17 88/07/06 10:25:26 mendel Exp $ SPRITE (Berkeley)
  1792. d38 1
  1793. a38 1
  1794. #    define_targets    if defined, this file will define all of the
  1795. d229 1
  1796. @
  1797.  
  1798.  
  1799. 1.17
  1800. log
  1801. @Added $(RANLIB) variable to allow different ranlib programs.
  1802. @
  1803. text
  1804. @d7 1
  1805. a7 1
  1806. # $Header: biglib.mk,v 1.16 88/07/02 14:34:20 ouster Exp $ SPRITE (Berkeley)
  1807. d188 1
  1808. a188 1
  1809. #ifdef define_targets
  1810. d246 1
  1811. a246 1
  1812. #endif define_targets
  1813. @
  1814.  
  1815.  
  1816. 1.16
  1817. log
  1818. @Better lint support.
  1819. @
  1820. text
  1821. @d7 1
  1822. a7 1
  1823. # $Header: biglib.mk,v 1.15 88/07/02 12:25:24 ouster Exp $ SPRITE (Berkeley)
  1824. d73 1
  1825. d208 1
  1826. a208 1
  1827.     ranlib $(.TARGET)
  1828. d215 1
  1829. a215 1
  1830.     ranlib $(.TARGET)
  1831. @
  1832.  
  1833.  
  1834. 1.15
  1835. log
  1836. @Add "-S" lint flag.
  1837. @
  1838. text
  1839. @d7 1
  1840. a7 1
  1841. # $Header: biglib.mk,v 1.14 88/07/01 15:51:42 ouster Exp $ SPRITE (Berkeley)
  1842. d11 4
  1843. a14 1
  1844. #    LIBRARY        base name of library (e.g. tcl, sx, c, etc.)
  1845. d28 2
  1846. d90 2
  1847. a91 2
  1848. # Flags everyone should have. CCFLAGS, CAFLAGS and CLINTFLAGS are provided
  1849. # for the user to add flags for CC, AS or LINT from the command line.
  1850. d101 1
  1851. a101 1
  1852. LINTFLAGS    ?= -S
  1853. d111 1
  1854. d172 2
  1855. a173 1
  1856.     $(LINT) $(LINTFLAGS) $(CFLAGS:M-[ID]*) $(.ALLSRC) > $(.TARGET) 2>&1
  1857. d233 6
  1858. a238 1
  1859. $(LINTFILE)        : $(SRCS:M*.c) MAKELINT
  1860. @
  1861.  
  1862.  
  1863. 1.14
  1864. log
  1865. @Mark library PRECIOUS (!!).  Also, add cleanlib option to remove
  1866. this directory's object files from library.
  1867. @
  1868. text
  1869. @d7 1
  1870. a7 1
  1871. # $Header: biglib.mk,v 1.13 88/06/21 11:31:45 ouster Exp $ SPRITE (Berkeley)
  1872. a31 1
  1873. #    CLINTFLAGS    additional flags to pass to lint
  1874. a91 1
  1875. CLINTFLAGS    ?=
  1876. d96 1
  1877. a96 1
  1878. LINTFLAGS    += $(CLINTFLAGS)
  1879. @
  1880.  
  1881.  
  1882. 1.13
  1883. log
  1884. @Don't look at att includes anymore, don't delete objects unless
  1885. there are some.
  1886. @
  1887. text
  1888. @d7 1
  1889. a7 1
  1890. # $Header: biglib.mk,v 1.12 88/06/19 14:25:28 ouster Exp $ SPRITE (Berkeley)
  1891. d199 1
  1892. a199 1
  1893. $(REGLIB)        : $(REGLIB)($(OBJS))
  1894. d220 3
  1895. @
  1896.  
  1897.  
  1898. 1.12
  1899. log
  1900. @Delete profiled objs during "make clean", don't delete non-recreatable
  1901. objs during regular makes.
  1902. @
  1903. text
  1904. @d7 1
  1905. a7 1
  1906. # $Header: biglib.mk,v 1.11 88/06/17 14:52:48 ouster Exp $ SPRITE (Berkeley)
  1907. d44 2
  1908. a45 1
  1909. .PATH.h        : $(TM).md /sprite/lib/include /sprite/att/lib/include
  1910. d203 1
  1911. d205 1
  1912. d210 1
  1913. d212 1
  1914. @
  1915.  
  1916.  
  1917. 1.11
  1918. log
  1919. @Pass flags to sub-makes.
  1920. @
  1921. text
  1922. @d7 1
  1923. a7 1
  1924. # $Header: biglib.mk,v 1.10 88/06/17 13:42:27 ouster Exp $ SPRITE (Berkeley)
  1925. a101 7
  1926. # Include system makefiles we need --
  1927. #    makelib.mk for creating archived libraries
  1928. #
  1929. many_libraries    = True
  1930. #include    <makelib.mk>
  1931.  
  1932. #
  1933. d106 1
  1934. a106 1
  1935. PROFLIB        = ../$(TM).md/lib$(LIBRARY)_p.a3
  1936. d138 8
  1937. d198 10
  1938. a207 2
  1939. $(REGLIB)        : $(REGLIB)($(OBJS)) MAKELIB
  1940. $(PROFLIB)        : $(PROFLIB)($(OBJS:S/.o$/.po/g)) MAKELIB
  1941. d213 2
  1942. a214 2
  1943.     $(RM) -f $(CLEANOBJS) y.tab.c lex.yy.c core a.out \
  1944.         *~ $(TM).md/*~ version.h
  1945. @
  1946.  
  1947.  
  1948. 1.10
  1949. log
  1950. @Didn't handle empty PUBHDRS or MDPUBHDRS.
  1951. @
  1952. text
  1953. @d7 1
  1954. a7 1
  1955. # $Header: biglib.mk,v 1.9 88/06/17 10:03:13 ouster Exp $ SPRITE (Berkeley)
  1956. d74 11
  1957. a97 1
  1958. PASSVARS    = 'CCFLAGS=$(CCFLAGS)' 'CAFLAGS=$(CAFLAGS)'
  1959. @
  1960.  
  1961.  
  1962. 1.9
  1963. log
  1964. @More stuff to get machine-dependent files working right.
  1965. @
  1966. text
  1967. @d7 1
  1968. a7 1
  1969. # $Header: biglib.mk,v 1.8 88/06/17 08:47:17 ouster Exp $ SPRITE (Berkeley)
  1970. d139 8
  1971. a146 9
  1972. MAKEINSTALLHDRS    : .USE
  1973.     if [ ! -z "$(PUBHDRS)" ]; then
  1974.         $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  1975.             $(PUBHDRS) $(INCLUDEDIR)
  1976.     fi
  1977.     if [ ! -z "$(MDPUBHDRS)" ]; then
  1978.         $(UPDATE) -l -m 444 -o root $(INSTALLFLAGS) \
  1979.             $(MDPUBHDRS) $(INCLUDEDIR)/$(TM).md
  1980.     fi
  1981. @
  1982.  
  1983.  
  1984. 1.8
  1985. log
  1986. @
  1987. @
  1988. text
  1989. @d7 1
  1990. a7 1
  1991. # $Header: libc.srcDir.mk,v 1.7 88/06/17 08:40:38 ouster Exp $ SPRITE (Berkeley)
  1992. d44 1
  1993. a44 1
  1994. .PATH.h        : /sprite/lib/include /sprite/att/lib/include
  1995. d47 2
  1996. d62 1
  1997. d114 3
  1998. a116 3
  1999. # Special transformation to remove existing object files, and place
  2000. # new object files in the machine-specific subdirectory.  If NO.C.O is
  2001. # defined, however, this rule isn't used.
  2002. d118 3
  2003. a120 1
  2004. #ifndef NO.C.O
  2005. d124 9
  2006. a132 1
  2007. #endif NO.C.O
  2008. @
  2009.  
  2010.  
  2011. 1.7
  2012. log
  2013. @Install as group "sprite", not "wheel".
  2014. @
  2015. text
  2016. @d7 1
  2017. a7 1
  2018. # $Header: libc.srcDir.mk,v 1.6 88/06/16 11:55:03 ouster Exp $ SPRITE (Berkeley)
  2019. d12 4
  2020. a15 1
  2021. #    SRCS        all sources for library
  2022. d21 4
  2023. a24 1
  2024. #    PUBHDRS        all public header files.
  2025. a61 1
  2026. INSTALL        ?= $(BINDIR)/install
  2027. d68 1
  2028. d128 1
  2029. a128 1
  2030.         $(INSTALL) -m 444 -o root -g sprite $(INSTALLFLAGS) \
  2031. d131 4
  2032. d177 1
  2033. d180 1
  2034. d184 4
  2035. @
  2036.  
  2037.  
  2038. 1.6
  2039. log
  2040. @Documentation cleanup.
  2041. @
  2042. text
  2043. @d7 1
  2044. a7 1
  2045. # $Header: libc.srcDir.mk,v 1.5 88/06/15 17:14:12 ouster Exp $ SPRITE (Berkeley)
  2046. d122 1
  2047. a122 1
  2048.         $(INSTALL) -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2049. @
  2050.  
  2051.  
  2052. 1.5
  2053. log
  2054. @Don't pass CC to sub-makes:  must be determined based on machine type.
  2055. @
  2056. text
  2057. @d7 1
  2058. a7 1
  2059. # $Header: libc.srcDir.mk,v 1.4 88/06/06 17:22:22 ouster Exp $ SPRITE (Berkeley)
  2060. d25 1
  2061. a25 1
  2062. #    CCFLAGS        additional flags to pass to linker
  2063. d151 1
  2064. a151 1
  2065. # make clean, make depend makd profile).  For each general target type,
  2066. @
  2067.  
  2068.  
  2069. 1.4
  2070. log
  2071. @Generate less output during "make depend".
  2072. @
  2073. text
  2074. @d7 1
  2075. a7 1
  2076. # $Header: libc.srcDir.mk,v 1.3 88/06/05 11:48:11 ouster Exp $ SPRITE (Berkeley)
  2077. d78 1
  2078. a78 1
  2079. PASSVARS    = 'CCFLAGS=$(CCFLAGS)' 'CAFLAGS=$(CAFLAGS)' 'CC=$(CC)'
  2080. @
  2081.  
  2082.  
  2083. 1.3
  2084. log
  2085. @Make library makefile handle multiple target machines, make
  2086. command makefile consistent with it.
  2087. @
  2088. text
  2089. @d7 1
  2090. a7 1
  2091. # $Header: libc.srcDir.mk,v 1.2 88/04/28 17:35:07 ouster Exp $ SPRITE (Berkeley)
  2092. d142 5
  2093. a146 5
  2094.     $(TOUCH) $(DEPFILE).$$$$
  2095.     $(MAKEDEPEND) $(CFLAGS:M-[ID]*) -w60 -f $(DEPFILE).$$$$ $(.ALLSRC)
  2096.     $(RM) -f $(DEPFILE)
  2097.     $(SED) -e '/^#/!s|^.|$(TM).md/&|' <$(DEPFILE).$$$$ > $(DEPFILE)
  2098.     $(RM) -f $(DEPFILE).$$$$
  2099. @
  2100.  
  2101.  
  2102. 1.2
  2103. log
  2104. @Separate out installing headers from other things.
  2105. @
  2106. text
  2107. @d2 4
  2108. a5 1
  2109. # Included makefile for creating a single library
  2110. d7 1
  2111. a7 1
  2112. # $Header: libc.srcDir.mk,v 1.1 88/04/28 17:25:44 ouster Exp $ SPRITE (Berkeley)
  2113. d9 2
  2114. a10 1
  2115. # Expected variables:
  2116. a11 5
  2117. #    MDDIR        machine-dependent directory containing uninstalled
  2118. #            archive
  2119. #    INSTALLDIR    place to install archive
  2120. #    LINTDIR        place to install lint library
  2121. #    INCLUDEDIR    place to install public header files
  2122. d14 4
  2123. d19 3
  2124. d23 8
  2125. d33 3
  2126. a35 1
  2127. # Define search paths for include files
  2128. d39 2
  2129. a46 1
  2130. KERNELLINTDIR    = /sprite/src/kernel/Lint
  2131. d50 3
  2132. d58 1
  2133. d61 2
  2134. a62 3
  2135. CHOWN        ?= $(BINDIR)/chown
  2136. CHGRP        ?= $(BINDIR)/chgrp
  2137. CHMOD        ?= $(BINDIR)/chmod
  2138. d68 2
  2139. d73 4
  2140. a76 2
  2141. CFLAGS        += -g -m68010 $(CCFLAGS) $(.INCLUDES)
  2142. AFLAGS        += -m68010 $(CAFLAGS)
  2143. d78 1
  2144. a79 2
  2145. INSTALLFLAGS    ?=
  2146.  
  2147. d83 1
  2148. a83 2
  2149. # Include the various system makefiles we need --
  2150. #    po.mk for creating profiled objects
  2151. a84 1
  2152. #    makelint.mk for creating lint libraries
  2153. a86 1
  2154. #include    <po.mk>
  2155. a87 1
  2156. #include    <makelint.mk>
  2157. d93 2
  2158. a94 3
  2159. REGLIB        = $(MDDIR)/lib$(LIBRARY).a
  2160. PROFLIB        = $(MDDIR)/lib$(LIBRARY)_p.a
  2161. LINTLIB        = llib-l$(LIBRARY).ln
  2162. d97 2
  2163. a98 2
  2164. # Installation macros. Archived libraries go in INSTALLDIR, lint libraries
  2165. # go in LINTDIR, header files go in INCLUDEDIR
  2166. a99 8
  2167. MAKEINSTALLLIB    : .USE
  2168.     if [ ! -z "$(.ALLSRC:Mlib*.a)" ]; then
  2169.         $(INSTALL) -c -m 664 -o root -g wheel $(INSTALLFLAGS) \
  2170.             $(.ALLSRC:Mlib*.a) $(INSTALLDIR)
  2171.         for i in $(.ALLSRC:Mlib*.a); do
  2172.             ranlib $(INSTALLDIR)/$i
  2173.         done
  2174.     fi
  2175. d101 2
  2176. a102 5
  2177. MAKEINSTALLLINT    : .USE
  2178.     if [ ! -z "$(.ALLSRC:Mllib*.ln)" ]; then
  2179.         $(INSTALL) -c -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2180.             $(.ALLSRC:Mllib*.ln) $(LINTDIR)
  2181.     fi
  2182. d104 16
  2183. d122 1
  2184. a122 1
  2185.         $(INSTALL) -c -m 444 -o root -g wheel $(INSTALLFLAGS) \
  2186. d126 14
  2187. a139 1
  2188. MAKEINSTALL    : MAKEINSTALLHDRS MAKEINSTALLLIB MAKEINSTALLLINT .USE
  2189. d141 7
  2190. d149 25
  2191. a173 3
  2192. $(REGLIB)    : $(REGLIB)($(OBJS)) MAKELIB
  2193. $(PROFLIB)    : $(PROFLIB)($(OBJS:S/.o$/.po/g)) MAKELIB
  2194. $(LINTLIB)    : $(SRCS:M*.c) $(HDRS) MAKELINT
  2195. d175 3
  2196. a177 3
  2197. library        : $(REGLIB)
  2198. profile        : $(PROFLIB)
  2199. lint        : $(LINTLIB)
  2200. d179 1
  2201. a179 3
  2202. instlint    :: $(LINTLIB) MAKEINSTALLLINT
  2203. installhdrs    : $(PUBHDRS) MAKEINSTALLHDRS
  2204.  
  2205. d182 1
  2206. a182 3
  2207. CLEANOBJS    ?=
  2208. clean        :: .NOTMAIN
  2209.     $(RM) -f $(CLEANOBJS) y.tab.c lex.yy.c core a.out *~
  2210. d184 1
  2211. a184 5
  2212. mkmf makemake    :: .NOTMAIN    # Does nothing. Says nothing
  2213.  
  2214. DEPFILE        ?= $(MAKEFILE)
  2215. #include    <makedepend.mk>
  2216. #include     <rdist.mk>
  2217. @
  2218.  
  2219.  
  2220. 1.1
  2221. log
  2222. @Initial revision
  2223. @
  2224. text
  2225. @d4 1
  2226. a4 1
  2227. # $Header: library.mk,v 1.2 88/04/04 23:03:01 deboor Exp $ SPRITE (Berkeley)
  2228. d98 1
  2229. a98 1
  2230.     if [ ! -z "$(.ALLSRC:M*.h)" ]; then
  2231. d100 1
  2232. a100 1
  2233.             $(.ALLSRC:M*.h) $(INCLUDEDIR)
  2234. @
  2235.